import { el } from "element-plus/es/locale"

const TokenKey = 'authorized-token'

export function getToken () {
  return sessionStorage.getItem(TokenKey)
}

export function setToken (token:string) {
  return sessionStorage.setItem(TokenKey, token)
}

export function removeToken () {
  sessionStorage.removeItem(TokenKey)
}

const LocalLanguageKey = 'local-language'

enum LocalLanguage{
  "zh",
  "en"
}

export function setLocalLanguage (language:string) {
  localStorage.setItem(LocalLanguageKey, language)
}

export function getLocalLanguage ():string{
  if(localStorage.getItem(LocalLanguageKey)){
    return localStorage.getItem(LocalLanguageKey)
  }else{
    return "zh"
  }
}

/**
 * 获取url参数方法
 * @param variable 
 * @returns 
 */
export function getQueryVariable(variable:string):string {
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  for (var i = 0; i < vars.length; i++) {
      var pair = vars[i].split("=");
      if (pair[0] == variable) {
          return pair[1];
      }
  }
  return "";
}

/**
 * 构造树型结构数据，参考若依框架
 * @param {*} data 数据源
 * @param {*} id id字段 默认 'id'
 * @param {*} parentId 父节点字段 默认 'parentId'
 * @param {*} children 孩子节点字段 默认 'children'
 * @param {*} rootId 根Id 默认 0
 */
 export function handleTree (data, id, parentId, children, rootId) {
  id = id || 'id'
  parentId = parentId || 'parentId'
  children = children || 'children'
  rootId = rootId || Math.min.apply(Math, data.map(item => { return item[parentId] })) || '0'
  // 对源数据深度克隆
  const cloneData = JSON.parse(JSON.stringify(data))
  // 循环所有项
  const treeData = cloneData.filter(father => {
    const branchArr = cloneData.filter(child => {
      // 返回每一项的子级数组
      return father[id] === child[parentId]
    })
    branchArr.length > 0 ? father.children = branchArr : ''
    // 返回第一层
    return father[parentId] === rootId
  })
  return treeData != '' ? treeData : data
}


